return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Make_Packet(&tra, LINK_ID[0].Pid_Product_Rqst,NULL,0);
if (!GPS_Write_Packet(fd,tra)) {
return SERIAL_ERROR;
GPS_Packet_Read(fd, &rec);
GPS_Send_Ack(fd, &tra, &rec);
- id = GPS_Util_Get_Short(rec->data);
- version = GPS_Util_Get_Short((rec->data)+2);
+ id = GPS_Util_Get_Short(rec.data);
+ version = GPS_Util_Get_Short((rec.data)+2);
- (void) strcpy(gps_save_string,(char*)rec->data+4);
+ (void) strcpy(gps_save_string,(char*)rec.data+4);
gps_save_id = id;
gps_save_version = (double)((double)version/(double)100.);
* reach behind that automation here and hand that ourselves.
*/
for (i = 0; i < 25; i++) {
- rec->type = 0;
+ rec.type = 0;
if (gps_is_usb) {
GPS_Packet_Read_usb(fd, &rec, 0);
GPS_Send_Ack(fd, &tra, &rec);
}
- if (rec->type == 0xfd) {
+ if (rec.type == 0xfd) {
GPS_A001(rec);
goto carry_on;
}
*
* Garmin acknowledges this is a firmware defect.
*/
- if (rec->type < 0xf8) {
+ if (rec.type < 0xf8) {
i = 0;
}
}
GPS_A800_Off(port,&fd);
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
US data;
US lasta=0;
- entries = packet->n / 3;
- p = packet->data;
+ entries = packet.n / 3;
+ p = packet.data;
for (i=0; i<entries; ++i,p+=3) {
tag = *p;
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Wpt);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
GPS_Packet_Read(fd, &rec);
GPS_Send_Ack(fd, &tra, &rec);
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*way)=(GPS_PWay*)malloc(n*sizeof(GPS_PWay)))) {
switch (gps_waypt_type) {
case pD100:
- GPS_D100_Get(&((*way)[i]),rec->data);
+ GPS_D100_Get(&((*way)[i]),rec.data);
break;
case pD101:
- GPS_D101_Get(&((*way)[i]),rec->data);
+ GPS_D101_Get(&((*way)[i]),rec.data);
break;
case pD102:
- GPS_D102_Get(&((*way)[i]),rec->data);
+ GPS_D102_Get(&((*way)[i]),rec.data);
break;
case pD103:
- GPS_D103_Get(&((*way)[i]),rec->data);
+ GPS_D103_Get(&((*way)[i]),rec.data);
break;
case pD104:
- GPS_D104_Get(&((*way)[i]),rec->data);
+ GPS_D104_Get(&((*way)[i]),rec.data);
break;
case pD105:
- GPS_D105_Get(&((*way)[i]),rec->data);
+ GPS_D105_Get(&((*way)[i]),rec.data);
break;
case pD106:
- GPS_D106_Get(&((*way)[i]),rec->data);
+ GPS_D106_Get(&((*way)[i]),rec.data);
break;
case pD107:
- GPS_D107_Get(&((*way)[i]),rec->data);
+ GPS_D107_Get(&((*way)[i]),rec.data);
break;
case pD108:
- GPS_D108_Get(&((*way)[i]),rec->data);
+ GPS_D108_Get(&((*way)[i]),rec.data);
break;
case pD109:
- GPS_D109_Get(&((*way)[i]),rec->data, 109);
+ GPS_D109_Get(&((*way)[i]),rec.data, 109);
break;
case pD110:
- GPS_D109_Get(&((*way)[i]),rec->data, 110);
+ GPS_D109_Get(&((*way)[i]),rec.data, 110);
break;
case pD150:
- GPS_D150_Get(&((*way)[i]),rec->data);
+ GPS_D150_Get(&((*way)[i]),rec.data);
break;
case pD151:
- GPS_D151_Get(&((*way)[i]),rec->data);
+ GPS_D151_Get(&((*way)[i]),rec.data);
break;
case pD152:
- GPS_D152_Get(&((*way)[i]),rec->data);
+ GPS_D152_Get(&((*way)[i]),rec.data);
break;
case pD154:
- GPS_D154_Get(&((*way)[i]),rec->data);
+ GPS_D154_Get(&((*way)[i]),rec.data);
break;
case pD155:
- GPS_D155_Get(&((*way)[i]),rec->data);
+ GPS_D155_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A100_GET: Unknown waypoint protocol: %d", gps_waypt_type);
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
- GPS_Error("A100_GET: Error transferring waypoints. Expected %d completion code. Got %d. %d of %d received", LINK_ID[gps_link_type].Pid_Xfer_Cmplt, rec->type, i, n);
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ GPS_Error("A100_GET: Error transferring waypoints. Expected %d completion code. Got %d. %d of %d received", LINK_ID[gps_link_type].Pid_Xfer_Cmplt, rec.type, i, n);
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data, (short) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return gps_errno;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Wpt_Cats);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
GPS_Packet_Read(fd, &rec);
GPS_Send_Ack(fd, &tra, &rec);
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
for (i = 0; i < n; ++i) {
if (!GPS_Packet_Read(fd, &rec)) {
return gps_errno;
}
switch (gps_category_type) {
case pD120:
- GPS_D120_Get(i,(char*) rec->data);
+ GPS_D120_Get(i,(char*) rec.data);
break;
}
}
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
- GPS_Error("A101_Get: Error transferring waypoints. Expected %d completion code. Got %d. %d of %d received", LINK_ID[gps_link_type].Pid_Xfer_Cmplt, rec->type, i, n);
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ GPS_Error("A101_Get: Error transferring waypoints. Expected %d completion code. Got %d. %d of %d received", LINK_ID[gps_link_type].Pid_Xfer_Cmplt, rec.type, i, n);
return FRAMING_ERROR;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Rte);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*way)=(GPS_PWay*)malloc(n*sizeof(GPS_PWay)))) {
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Rte_Hdr) {
+ if (rec.type == LINK_ID[gps_link_type].Pid_Rte_Hdr) {
switch (gps_rte_hdr_type) {
case pD200:
- GPS_D200_Get(&((*way)[i]),rec->data);
+ GPS_D200_Get(&((*way)[i]),rec.data);
break;
case pD201:
- GPS_D201_Get(&((*way)[i]),rec->data);
+ GPS_D201_Get(&((*way)[i]),rec.data);
break;
case pD202:
- GPS_D202_Get(&((*way)[i]),rec->data);
+ GPS_D202_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A200_GET: Unknown route protocol");
continue;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Rte_Wpt_Data) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Rte_Wpt_Data) {
GPS_Error("A200_GET: Non Pid_rte_Wpt_Data");
return FRAMING_ERROR;
}
switch (gps_rte_type) {
case pD100:
- GPS_D100_Get(&((*way)[i]),rec->data);
+ GPS_D100_Get(&((*way)[i]),rec.data);
break;
case pD101:
- GPS_D101_Get(&((*way)[i]),rec->data);
+ GPS_D101_Get(&((*way)[i]),rec.data);
break;
case pD102:
- GPS_D102_Get(&((*way)[i]),rec->data);
+ GPS_D102_Get(&((*way)[i]),rec.data);
break;
case pD103:
- GPS_D103_Get(&((*way)[i]),rec->data);
+ GPS_D103_Get(&((*way)[i]),rec.data);
break;
case pD104:
- GPS_D104_Get(&((*way)[i]),rec->data);
+ GPS_D104_Get(&((*way)[i]),rec.data);
break;
case pD105:
- GPS_D105_Get(&((*way)[i]),rec->data);
+ GPS_D105_Get(&((*way)[i]),rec.data);
break;
case pD106:
- GPS_D106_Get(&((*way)[i]),rec->data);
+ GPS_D106_Get(&((*way)[i]),rec.data);
break;
case pD107:
- GPS_D107_Get(&((*way)[i]),rec->data);
+ GPS_D107_Get(&((*way)[i]),rec.data);
break;
case pD108:
- GPS_D108_Get(&((*way)[i]),rec->data);
+ GPS_D108_Get(&((*way)[i]),rec.data);
break;
case pD109:
- GPS_D109_Get(&((*way)[i]),rec->data,109);
+ GPS_D109_Get(&((*way)[i]),rec.data,109);
break;
case pD110:
- GPS_D109_Get(&((*way)[i]),rec->data,110);
+ GPS_D109_Get(&((*way)[i]),rec.data,110);
break;
case pD150:
- GPS_D150_Get(&((*way)[i]),rec->data);
+ GPS_D150_Get(&((*way)[i]),rec.data);
break;
case pD151:
- GPS_D151_Get(&((*way)[i]),rec->data);
+ GPS_D151_Get(&((*way)[i]),rec.data);
break;
case pD152:
- GPS_D152_Get(&((*way)[i]),rec->data);
+ GPS_D152_Get(&((*way)[i]),rec.data);
break;
case pD154:
- GPS_D154_Get(&((*way)[i]),rec->data);
+ GPS_D154_Get(&((*way)[i]),rec.data);
break;
case pD155:
- GPS_D155_Get(&((*way)[i]),rec->data);
+ GPS_D155_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A200_GET: Unknown route protocol");
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A200_GET: Error transferring routes");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Rte);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*way)=(GPS_PWay*)malloc(n*sizeof(GPS_PWay)))) {
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Rte_Hdr) {
+ if (rec.type == LINK_ID[gps_link_type].Pid_Rte_Hdr) {
switch (gps_rte_hdr_type) {
case pD200:
- GPS_D200_Get(&((*way)[i]),rec->data);
+ GPS_D200_Get(&((*way)[i]),rec.data);
break;
case pD201:
- GPS_D201_Get(&((*way)[i]),rec->data);
+ GPS_D201_Get(&((*way)[i]),rec.data);
break;
case pD202:
- GPS_D202_Get(&((*way)[i]),rec->data);
+ GPS_D202_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A201_GET: Unknown route protocol");
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Rte_Link_Data) {
+ if (rec.type == LINK_ID[gps_link_type].Pid_Rte_Link_Data) {
switch (gps_rte_link_type) {
case pD210:
- GPS_D210_Get(&((*way)[i]),rec->data);
+ GPS_D210_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A201_GET: Unknown route protocol");
continue;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Rte_Wpt_Data) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Rte_Wpt_Data) {
GPS_Error("A200_GET: Non Pid_rte_Wpt_Data");
return FRAMING_ERROR;
}
switch (gps_rte_type) {
case pD100:
- GPS_D100_Get(&((*way)[i]),rec->data);
+ GPS_D100_Get(&((*way)[i]),rec.data);
break;
case pD101:
- GPS_D101_Get(&((*way)[i]),rec->data);
+ GPS_D101_Get(&((*way)[i]),rec.data);
break;
case pD102:
- GPS_D102_Get(&((*way)[i]),rec->data);
+ GPS_D102_Get(&((*way)[i]),rec.data);
break;
case pD103:
- GPS_D103_Get(&((*way)[i]),rec->data);
+ GPS_D103_Get(&((*way)[i]),rec.data);
break;
case pD104:
- GPS_D104_Get(&((*way)[i]),rec->data);
+ GPS_D104_Get(&((*way)[i]),rec.data);
break;
case pD105:
- GPS_D105_Get(&((*way)[i]),rec->data);
+ GPS_D105_Get(&((*way)[i]),rec.data);
break;
case pD106:
- GPS_D106_Get(&((*way)[i]),rec->data);
+ GPS_D106_Get(&((*way)[i]),rec.data);
break;
case pD107:
- GPS_D107_Get(&((*way)[i]),rec->data);
+ GPS_D107_Get(&((*way)[i]),rec.data);
break;
case pD108:
- GPS_D108_Get(&((*way)[i]),rec->data);
+ GPS_D108_Get(&((*way)[i]),rec.data);
break;
case pD109:
- GPS_D109_Get(&((*way)[i]),rec->data,109);
+ GPS_D109_Get(&((*way)[i]),rec.data,109);
break;
case pD110:
- GPS_D109_Get(&((*way)[i]),rec->data,110);
+ GPS_D109_Get(&((*way)[i]),rec.data,110);
break;
case pD150:
- GPS_D150_Get(&((*way)[i]),rec->data);
+ GPS_D150_Get(&((*way)[i]),rec.data);
break;
case pD151:
- GPS_D151_Get(&((*way)[i]),rec->data);
+ GPS_D151_Get(&((*way)[i]),rec.data);
break;
case pD152:
- GPS_D152_Get(&((*way)[i]),rec->data);
+ GPS_D152_Get(&((*way)[i]),rec.data);
break;
case pD154:
- GPS_D154_Get(&((*way)[i]),rec->data);
+ GPS_D154_Get(&((*way)[i]),rec.data);
break;
case pD155:
- GPS_D155_Get(&((*way)[i]),rec->data);
+ GPS_D155_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A200_GET: Unknown route protocol");
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A200_GET: Error transferring routes");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Trk);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
}
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*trk)=(GPS_PTrack*)malloc(n*sizeof(GPS_PTrack)))) {
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
GPS_PPacket rec;
static UC data[2];
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Runs);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
if (!GPS_Send_Ack(fd, &tra, &rec)) {
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type == LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
break;
}
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
return 0;
}
drain_run_cmd(fd);
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data, Cmnd_Transfer_Trk);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
data,2);
}
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*trk)=(GPS_PTrack*)malloc(n*sizeof(GPS_PTrack)))) {
if (!GPS_Send_Ack(fd, &tra, &rec)) {
return gps_errno;
}
- if (rec->type == Pid_Trk_Hdr) {
+ if (rec.type == Pid_Trk_Hdr) {
switch (trk_hdr_type) {
case pD310:
case pD312:
- GPS_D310_Get(&((*trk)[i]),rec->data);
+ GPS_D310_Get(&((*trk)[i]),rec.data);
break;
case pD311:
- GPS_D311_Get(&((*trk)[i]),rec->data);
+ GPS_D311_Get(&((*trk)[i]),rec.data);
break;
default:
GPS_Error("A301_Get: Unknown track protocol");
continue;
}
- if (rec->type != Pid_Trk_Data) {
+ if (rec.type != Pid_Trk_Data) {
GPS_Error("A301_Get: Non-Pid_Trk_Data");
return FRAMING_ERROR;
}
switch (trk_type) {
case pD300:
- GPS_D300b_Get(&((*trk)[i]),rec->data);
+ GPS_D300b_Get(&((*trk)[i]),rec.data);
break;
case pD301:
- GPS_D301b_Get(&((*trk)[i]),rec->data);
+ GPS_D301b_Get(&((*trk)[i]),rec.data);
break;
case pD302:
- GPS_D302b_Get(&((*trk)[i]),rec->data);
+ GPS_D302b_Get(&((*trk)[i]),rec.data);
break;
case pD303:
case pD304:
- GPS_D303b_Get(&((*trk)[i]),rec->data);
+ GPS_D303b_Get(&((*trk)[i]),rec.data);
/* Fitness devices don't send track segment markers, so we have
* to create them ourselves. We do so at the beginning of the
* track or if the device signals a pause by sending two
if (!GPS_Send_Ack(fd, &tra, &rec)) {
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A301_Get: Error transferring tracks");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (protoid != 302 && !GPS_Device_Off(fd)) {
return gps_errno;
}
GPS_PPacket rec;
int32 i;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
for (i=0; i<entries; ++i) {
if (!GPS_Packet_Read(fd, &rec)) {
return gps_errno;
}
- GPS_A300_Translate(rec->data, &trk[i]);
+ GPS_A300_Translate(rec.data, &trk[i]);
}
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("D300_GET: Error transferring track log");
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
return i;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Prx);
if (!GPS_Device_Chars_Ready(fd)) {
GPS_Warning("A400 (ppx) protocol not supported");
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
if (!GPS_Device_Off(fd)) {
return gps_errno;
return gps_errno;
}
- n = GPS_Util_Get_Short(rec->data);
+ n = GPS_Util_Get_Short(rec.data);
if (n)
if (!((*way)=(GPS_PWay*)malloc(n*sizeof(GPS_PWay)))) {
switch (gps_prx_waypt_type) {
case pD400:
- GPS_D400_Get(&((*way)[i]),rec->data);
+ GPS_D400_Get(&((*way)[i]),rec.data);
break;
case pD101:
- GPS_D101_Get(&((*way)[i]),rec->data);
+ GPS_D101_Get(&((*way)[i]),rec.data);
break;
case pD102:
- GPS_D102_Get(&((*way)[i]),rec->data);
+ GPS_D102_Get(&((*way)[i]),rec.data);
break;
case pD403:
- GPS_D403_Get(&((*way)[i]),rec->data);
+ GPS_D403_Get(&((*way)[i]),rec.data);
break;
case pD104:
- GPS_D104_Get(&((*way)[i]),rec->data);
+ GPS_D104_Get(&((*way)[i]),rec.data);
break;
case pD105:
- GPS_D105_Get(&((*way)[i]),rec->data);
+ GPS_D105_Get(&((*way)[i]),rec.data);
break;
case pD106:
- GPS_D106_Get(&((*way)[i]),rec->data);
+ GPS_D106_Get(&((*way)[i]),rec.data);
break;
case pD107:
- GPS_D107_Get(&((*way)[i]),rec->data);
+ GPS_D107_Get(&((*way)[i]),rec.data);
break;
case pD108:
- GPS_D108_Get(&((*way)[i]),rec->data);
+ GPS_D108_Get(&((*way)[i]),rec.data);
break;
case pD109:
- GPS_D109_Get(&((*way)[i]),rec->data,109);
+ GPS_D109_Get(&((*way)[i]),rec.data,109);
break;
case pD110:
- GPS_D109_Get(&((*way)[i]),rec->data,110);
+ GPS_D109_Get(&((*way)[i]),rec.data,110);
break;
case pD450:
- GPS_D450_Get(&((*way)[i]),rec->data);
+ GPS_D450_Get(&((*way)[i]),rec.data);
break;
case pD151:
- GPS_D151_Get(&((*way)[i]),rec->data);
+ GPS_D151_Get(&((*way)[i]),rec.data);
break;
case pD152:
- GPS_D152_Get(&((*way)[i]),rec->data);
+ GPS_D152_Get(&((*way)[i]),rec.data);
break;
case pD154:
- GPS_D154_Get(&((*way)[i]),rec->data);
+ GPS_D154_Get(&((*way)[i]),rec.data);
break;
case pD155:
- GPS_D155_Get(&((*way)[i]),rec->data);
+ GPS_D155_Get(&((*way)[i]),rec.data);
break;
default:
GPS_Error("A400_GET: Unknown prx waypoint protocol");
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (rec.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A400_GET: Error transferring prx waypoints");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
-
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Alm);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(recpkt->data);
+ n = GPS_Util_Get_Short(recpkt.data);
if (n)
if (!((*alm)=(GPS_PAlmanac*)malloc(n*sizeof(GPS_PAlmanac)))) {
switch (gps_almanac_type) {
case pD500:
- GPS_A500_Translate(recpkt->data, &((*alm)[i]));
+ GPS_A500_Translate(recpkt.data, &((*alm)[i]));
break;
case pD501:
- GPS_A500_Translate(recpkt->data, &((*alm)[i]));
- (*alm)[i]->hlth=recpkt->data[42];
+ GPS_A500_Translate(recpkt.data, &((*alm)[i]));
+ (*alm)[i]->hlth=recpkt.data[42];
break;
case pD550:
- (*alm)[i]->svid = recpkt->data[0];
- GPS_A500_Translate(recpkt->data+1, &((*alm)[i]));
+ (*alm)[i]->svid = recpkt.data[0];
+ GPS_A500_Translate(recpkt.data+1, &((*alm)[i]));
break;
case pD551:
- (*alm)[i]->svid = recpkt->data[0];
- GPS_A500_Translate(recpkt->data+1, &((*alm)[i]));
- (*alm)[i]->hlth = recpkt->data[43];
+ (*alm)[i]->svid = recpkt.data[0];
+ GPS_A500_Translate(recpkt.data+1, &((*alm)[i]));
+ (*alm)[i]->hlth = recpkt.data[43];
break;
default:
GPS_Error("A500_GET: Unknown almanac protocol");
if (!GPS_Send_Ack(fd, &trapkt, &recpkt)) {
return gps_errno;
}
- if (recpkt->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (recpkt.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A500_Get: Error transferring almanac");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
case pD500:
if (n!=32) {
GPS_Error("A500_Send: SATELLITES: n!=32 specified");
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
return PROTOCOL_ERROR;
}
GPS_D500_Send(data,alm[i]);
case pD501:
if (n!=32) {
GPS_Error("A500_Send: SATELLITES: n!=32 specified");
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
return PROTOCOL_ERROR;
}
GPS_D501_Send(data,alm[i]);
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Command_Data &&
- GPS_Util_Get_Short(rec->data) == COMMAND_ID[gps_device_command].
+ if (rec.type == LINK_ID[gps_link_type].Pid_Command_Data &&
+ GPS_Util_Get_Short(rec.data) == COMMAND_ID[gps_device_command].
Cmnd_Transfer_Time) {
GPS_User("INFO: GPS time request. Sending....");
ret = GPS_Rqst_Send_Time(fd,gps_save_time);
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Command_Data &&
- GPS_Util_Get_Short(rec->data) == COMMAND_ID[gps_device_command].
+ if (rec.type == LINK_ID[gps_link_type].Pid_Command_Data &&
+ GPS_Util_Get_Short(rec.data) == COMMAND_ID[gps_device_command].
Cmnd_Transfer_Posn) {
GPS_User("INFO: GPS position request. Sending....");
ret = GPS_Rqst_Send_Position(fd,gps_save_lat,gps_save_lon);
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Time);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Command_Data,
return PROTOCOL_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
switch (gps_date_time_type) {
case pD600:
GPS_D600_Send(&tra,Time);
return gps_errno;
}
- if (rec->type == LINK_ID[gps_link_type].Pid_Command_Data &&
- GPS_Util_Get_Short(rec->data) == COMMAND_ID[gps_device_command].
+ if (rec.type == LINK_ID[gps_link_type].Pid_Command_Data &&
+ GPS_Util_Get_Short(rec.data) == COMMAND_ID[gps_device_command].
Cmnd_Transfer_Posn) {
GPS_User("INFO: GPS position request. Sending....");
ret = GPS_Rqst_Send_Position(fd,gps_save_lat,gps_save_lon);
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
UC* p;
static struct tm ts;
- p = packet->data;
+ p = packet.data;
ts.tm_mon = *p++ - 1;
ts.tm_mday = *p++;
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Posn);
return PROTOCOL_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
switch (gps_position_type) {
case pD700:
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
UC* p;
double t;
- p = packet->data;
+ p = packet.data;
t = GPS_Util_Get_Double(p);
*lat = GPS_Math_Rad_To_Deg(t);
return gps_errno;
}
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Start_Pvt_Data);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
-
return 1;
}
GPS_PPacket tra;
GPS_PPacket rec;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Stop_Pvt_Data);
}
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
-
// if(!GPS_Device_Off(*fd))
// return gps_errno;
GPS_PPacket tra;
GPS_PPacket rec;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
if (!GPS_Packet_Read(*fd, &rec)) {
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
return gps_errno;
}
if (!GPS_Send_Ack(*fd, &tra, &rec)) {
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
return gps_errno;
}
- if (rec->type != LINK_ID[gps_link_type].Pid_Pvt_Data) {
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
+ if (rec.type != LINK_ID[gps_link_type].Pid_Pvt_Data) {
return 0;
}
break;
default:
GPS_Error("A800_GET: Unknown pvt protocol");
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
return PROTOCOL_ERROR;
}
- GPS_Packet_Del(&rec);
- GPS_Packet_Del(&tra);
-
return 1;
}
{
UC* p;
- p = packet->data;
+ p = packet.data;
(*pvt)->alt = GPS_Util_Get_Float(p);
p+=sizeof(float);
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Laps);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(recpkt->data);
+ n = GPS_Util_Get_Short(recpkt.data);
if (n)
if (!((*lap)=(GPS_PLap*)malloc(n*sizeof(GPS_PLap)))) {
case pD1001:
case pD1011:
case pD1015:
- GPS_D1011b_Get(&((*lap)[i]),recpkt->data);
+ GPS_D1011b_Get(&((*lap)[i]),recpkt.data);
break;
default:
GPS_Error("A906_Get: Unknown Lap protocol %d\n", gps_lap_type);
if (!GPS_Send_Ack(fd, &trapkt, &recpkt)) {
return gps_errno;
}
- if (recpkt->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (recpkt.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A906_Get: Error transferring laps");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Courses);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(recpkt->data);
+ n = GPS_Util_Get_Short(recpkt.data);
if (n)
switch (gps_course_type) {
case pD1006:
- GPS_D1006_Get(&((*crs)[i]),recpkt->data);
+ GPS_D1006_Get(&((*crs)[i]),recpkt.data);
break;
default:
GPS_Error("A1006_Get: Unknown Course protocol %d\n",
if (!GPS_Send_Ack(fd, &trapkt, &recpkt)) {
return gps_errno;
}
- if (recpkt->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (recpkt.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A1006_Get: Error transferring courses");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
int32 i;
int32 len;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n_crs);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
return 1;
}
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Course_Laps);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(recpkt->data);
+ n = GPS_Util_Get_Short(recpkt.data);
if (n)
switch (gps_course_lap_type) {
case pD1007:
- GPS_D1007_Get(&((*clp)[i]),recpkt->data);
+ GPS_D1007_Get(&((*clp)[i]),recpkt.data);
break;
default:
GPS_Error("A1007_Get: Unknown Course Lap protocol %d\n",
if (!GPS_Send_Ack(fd, &trapkt, &recpkt)) {
return gps_errno;
}
- if (recpkt->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (recpkt.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A1007_Get: Error transferring course laps");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
int32 i;
int32 len;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n_clp);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
return 1;
}
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Course_Points);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
return gps_errno;
}
- n = GPS_Util_Get_Short(recpkt->data);
+ n = GPS_Util_Get_Short(recpkt.data);
if (n)
switch (gps_course_point_type) {
case pD1012:
- GPS_D1012_Get(&((*cpt)[i]),recpkt->data);
+ GPS_D1012_Get(&((*cpt)[i]),recpkt.data);
break;
default:
GPS_Error("A1008_Get: Unknown Course Point protocol %d\n",
if (!GPS_Send_Ack(fd, &trapkt, &recpkt)) {
return gps_errno;
}
- if (recpkt->type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
+ if (recpkt.type != LINK_ID[gps_link_type].Pid_Xfer_Cmplt) {
GPS_Error("A1008_Get: Error transferring course points");
return FRAMING_ERROR;
}
return FRAMING_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}
int32 i;
int32 len;
- if (!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,(US) n_cpt);
GPS_Make_Packet(&tra, LINK_ID[gps_link_type].Pid_Records,
data,2);
return FRAMING_ERROR;
}
- GPS_Packet_Del(&tra);
- GPS_Packet_Del(&rec);
-
return 1;
}
return gps_errno;
}
- if (!(trapkt = GPS_Packet_New()) || !(recpkt = GPS_Packet_New())) {
- return MEMORY_ERROR;
- }
-
GPS_Util_Put_Short(data,
COMMAND_ID[gps_device_command].Cmnd_Transfer_Course_Limits);
GPS_Make_Packet(&trapkt, LINK_ID[gps_link_type].Pid_Command_Data,
switch (gps_course_limits_type) {
case pD1013:
- GPS_D1013_Get(limits,recpkt->data);
+ GPS_D1013_Get(limits,recpkt.data);
break;
default:
GPS_Error("A1009_Get: Unknown Course Limits protocol %d\n",
return PROTOCOL_ERROR;
}
- GPS_Packet_Del(&trapkt);
- GPS_Packet_Del(&recpkt);
-
if (!GPS_Device_Off(fd)) {
return gps_errno;
}